home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / infosrvr / dev / www_talk.930 / 000835_guido@cwi.nl _Fri Apr 9 01:19:28 1993.msg < prev    next >
Internet Message Format  |  1994-01-24  |  5KB

  1. Return-Path: <guido@cwi.nl>
  2. Received: from dxmint.cern.ch by  nxoc01.cern.ch  (NeXT-1.0 (From Sendmail 5.52)/NeXT-2.0)
  3.     id AA28406; Fri, 9 Apr 93 01:19:28 MET DST
  4. Received: from charon.cwi.nl by dxmint.cern.ch (5.65/DEC-Ultrix/4.3)
  5.     id AA14885; Fri, 9 Apr 1993 01:38:51 +0200
  6. Received: from voorn.cwi.nl by charon.cwi.nl with SMTP
  7.     id AA14959 (5.65b/3.8/CWI-Amsterdam); Fri, 9 Apr 1993 01:38:49 +0200
  8. Received: by voorn.cwi.nl with SMTP
  9.     id AA15043 (5.65b/3.8/CWI-Amsterdam); Fri, 9 Apr 1993 01:38:47 +0200
  10. Message-Id: <9304082338.AA15043=guido@voorn.cwi.nl>
  11. Subject: Re: strategy for HTML spec? 
  12. To: www-talk@nxoc01.cern.ch
  13. X-Organization: CWI, Kruislaan 413, 1098 SJ Amsterdam, The Netherlands
  14. X-Phone: +31 20 5924127 (work), +31 20 6225521 (home), +31 20 5924199 (fax)
  15. Date: Fri, 09 Apr 1993 01:38:46 +0200
  16. From: Guido van Rossum <Guido.van.Rossum@cwi.nl>
  17.  
  18. [This is the message I intended to redisatribute to the list,
  19. describing my roaming robot.  Maybe I should make the results of this
  20. available as a searchable HTML document?  --Guido]
  21.  
  22. >I could easily write a robot which would roam around the Web (perhaps
  23. >stochastically?), and verify the html, using sgmls.  Then, whenever
  24. >I come across something that's non-compliant, I could automatically
  25. >send mail to wwwmaster@sitename.  No one would have to annoy anyone else
  26. >about whether or not they've verified their HTML; a program would annoy
  27. >them automatically.
  28.  
  29. I have written a robot that does this, except it doesn't check for
  30. valid SGML -- it just tries to map out the entire web.  I believe I
  31. found roughly 50 or 60 different sites (this was maybe 2 months ago --
  32. I'm sorry, I didn't save the output).  It took the robot about half a
  33. day (a saturday morning) to complete.
  34.  
  35. There were several problems.
  36.  
  37. First, some sites were down and my robot would spend a considerable
  38. time waiting for the connection to time out each time it found a link
  39. to such a site.  I ended up remembering the last error from a site and
  40. skipping sites that were obviously down, but there are many different
  41. errors you can get, depending on whether the host is down,
  42. unreachable, doesn't run a WWW server, doesn't recognize the document
  43. address you want, or has some other trouble (some sites were going up
  44. and down while my robot was running, causing additional confusion).
  45.  
  46. Next, more importantly, some sites have an infinite number of
  47. documents.  There are several causes for this.
  48.  
  49. First, several sites have gateways to the entire VMS documentation (I
  50. have never used VMS but apparently the VMS help system is a kind of
  51. hypertext).  While not exactly infinite the number of nodes is *very*
  52. large.  Luckily such gateways are easily recognized by the kind of
  53. pathname they use, and VMS help is unlikely to contain pointers to
  54. anything except more VMS help, so I put in a simple trap to stop
  55. these.
  56.  
  57. Next, there are other gateways.  I can't remember whether I
  58. encountered a Gopher or WAIS gateway, but these would have even worse
  59. problems.
  60.  
  61. Finally, some servers contain bugs that cause loops, by referencing to
  62. the same document with an ever-growing path.  (The relative path
  63. resolving rules are tricky, and I was using my own www client which
  64. isn't derived from Tim's, which made this more severe, but I have also
  65. found occurrences reproducible  with the CERN www client.)
  66.  
  67. Although I didn't specifically test for bad HTML, I did have to parse
  68. the HTML to find the links, and found occasional errors.  I believe
  69. there are a few binaries, PostScript and WP files that have links to
  70. them, which take forever to fetch.  There were also various
  71. occurrences of broken addresses here and there -- this was a good
  72. occasion for me to debug my www client library.
  73.  
  74. If people are interested, I could run the robot again and report a
  75. summary of the results.
  76.  
  77. I also ran a gopher robot, but after 1600 sites I gave up...  The
  78. Veronica project in the Gopher world does the same and makes the
  79. results available as a database, although the last time I tried it the
  80. veronica server seemed too overloaded to respond to a simple query.
  81.  
  82. If you want source for the robots, the're part of the Python source
  83. distribution: ftp to ftp.cwi.nl, directory, pub/python, file
  84. python0.9.8.tar.Z.  The robot (and in fact my entire www and gopher
  85. client library) is in the tar archive in directory python/demo/www.
  86. The texinfo to html conversion program that I once advertized here is
  87. also there.  (I'm sorry, you'll have to built the python interpreter
  88. from the source before any of these programs can be used...)
  89. Note that my www library isn't up with the latest HTML specs, this is
  90. a hobby project and I neede my time for other things...
  91.  
  92. --Guido van Rossum, CWI, Amsterdam <Guido.van.Rossum@cwi.nl>